package S_A.SEM.bloom;

import java.io.IOException;

import ME.VPC.M.app.App;
import S_A.pheromone.IMV_SQI;

//打个调用花语的 包
/*
 * 个人著作权人, 作者 罗瑶光, 浏阳，
 * 作者的家庭是父亲 罗荣武，母亲 刘瑞珍，女儿 christina.yaja.luo/罗雅佳, 前妻ringli/李妙环。
 * yaoguangluo@outlook.com, 313699483@qq.com, 2080315360@qq.com, -
 ** 15116110525-浏阳德塔软件开发有限公司-创始人-法人-总经理-永久非盈利-
 * 430181198505250014, G24402609, EB0581342
 * 204925063, 389418686, F2406501, 0626136
 * 湖南省 浏阳市 集里街道 神仙坳社区 大塘冲路一段
*  208号 阳光家园别墅小区 第十栋别墅 第三层
 * */
public class InitonTalk {
	public static Object commandFlower(String functionIdentify) {
		// 机器语指令
		return null;
	}

	public static Object humanFlower(String subject_S, String verb_S,
			String object_S) {
		// 人类语句
		return null;
	}

	public static Object listenFlowers(String initonsLanguage) {
		// 1-机器听懂人类语言多句。
		// 2-humanFlower 人类单句语句 list
		// 3-list 对应 机器语指令commandFlower
		// 4-指令配置解码listenFlower
		return null;
	}

	// 指令结构语句
	@SuppressWarnings("unchecked")
	public static IMV_SQI listenFlower(String initonsLanguage,
			String functionIdentify, String calyxChromosome, App NE)
			throws InterruptedException, IOException {
		String callFunctionKey = functionIdentify;//
		NE.app_S.staticRootMap.staticBloomingTime.put(callFunctionKey,
				System.currentTimeMillis());
		NE.app_S.staticRootMap.initMap(NE);
		String[] strings = new String[1];
		IMV_SQI output = new IMV_SQI();
		IMV_SQI inputValue = new IMV_SQI();
		String[] 传参因子 = new String[0];// LATER USE SWICH
		if (calyxChromosome.equalsIgnoreCase("M_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapM_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("M_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapM_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("A_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapA_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("A_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapA_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("O_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapO_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("O_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapO_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("P_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapP_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("P_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapP_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("V_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapV_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("V_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapV_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("E_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapE_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("E_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapE_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("C_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapC_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("C_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapC_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("S_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapS_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("S_IDUQ")) {
			传参因子 = NE.app_S.staticFunctionMapS_IDUQ_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("I_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapI_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("I_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapI_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("D_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapD_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("D_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapD_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("U_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapU_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("U_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapU_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("Q_AOPM")) {
			传参因子 = NE.app_S.staticFunctionMapQ_AOPM_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		if (calyxChromosome.equalsIgnoreCase("Q_VECS")) {
			传参因子 = NE.app_S.staticFunctionMapQ_VECS_C.annotationMap
					.getString(callFunctionKey).split(":");//
		}
		for (int i = 0; i < 传参因子.length; i++) {// 降低入参权限。只做记忆分析。
			NE.app_S.staticRootMap.staticBloomingTime.put(传参因子[i],
					System.currentTimeMillis());
			if (NE.app_S.staticRootMap.staticBloomingTimes.containsKey(传参因子[i])) {
				Long times = NE.app_S.staticRootMap.staticBloomingTimes.get(传参因子[i]);
				times++;// 方便统计用来删除淘汰函数。例子
				NE.app_S.staticRootMap.staticBloomingTimes.put(传参因子[i], times);
			} // 每一次出现的时间list稍后。避免内存增量。
			inputValue.put(传参因子[i], "");// 安全机制。
		}
		// opt 先 保留。
		output.put("传参因子", 传参因子);
		output.put("inputValues", inputValue);
		strings[0] = initonsLanguage;
		NE.app_S.staticRootMap.tinShellV005(strings, output, NE);
		Long bootedTimeMillis = NE.app_S.staticRootMap.staticBloomingTime
				.get(callFunctionKey);
		Long durationalTimeMillis = System.currentTimeMillis()
				- bootedTimeMillis;
		NE.app_S.staticRootMap.staticBloomingDuration.put(callFunctionKey,
				durationalTimeMillis);
		IMV_SQI map = (IMV_SQI) output.get(callFunctionKey);
		return map;// map里面需要一些固定的标准参数。
	}
	// do a list , average, etc recoder later..
	// 129--问题 1 元基花下的map稍后剔除
	// 问题2 元基枝下的 map稍后统一注册。
	// 问题3 元基花下的函数统计模式分开。
}